package cn.carlos.jiatu;

import cn.carlos.jiatu.api.IJiatuLibService;
import cn.carlos.jiatu.api.impl.JiatuLibServeice;


/**
 * @ClassName Jiatu
 * @Description TODO
 * @Author Carlos
 * @Date 2023/11/2 20:33
 * @Version 1.0
 */
public class Jiatu {

    private static IJiatuLibService jiatuLibService;

    //提供一个静态方法让用户可以拿到一个接口的对象
    public static IJiatuLibService getIJiatuLibService() {
        //此处加判断，为了防止因锁而产生的线程阻塞
        if(jiatuLibService == null){
            //此处加锁是为了线程安全考虑
            synchronized (Jiatu.class){
                //此处判断对象是否创建，未创建则返回一个新的对象
                if (jiatuLibService == null) {
                    return new JiatuLibServeice();
                }
            }
        }
    return jiatuLibService;
    }
}
